//#define _CRT_SECURE_NO_WARNINGS 1
//#include<iostream>
//#include<queue>
//#include<string>
//using namespace std;
//int main()
//{
//    string str;
//    cin >> str;
//    int ret = 0;
//    priority_queue<int> heap;
//    int len = 0;
//    for (int j = 0;j < str.size();j++)
//    {
//        if (str[j] != '+') len++;
//        else
//        {
//            int in = stoi(str.substr(0, len));
//            heap.push(in);
//            break;
//        }
//    }
//    int i = 0;
//    while (i < str.size())
//    {
//        if (str[i] == '+')
//        {
//            int j = i + 1;
//            while (j < str.size()&&str[j] != '+') j++;
//            int len = j - i - 1;
//            int in = stoi(str.substr(i + 1, len));
//            heap.push(in);
//            i = j - 1;
//        }
//        i++;
//    }
//
//    while (!heap.empty())
//    {
//        if (heap.size() == 1)
//        {
//            int t = heap.top();
//            ret += t;
//            heap.pop();
//            printf("%d\n", t);
//            continue;
//        }
//        int t = heap.top();
//        ret += t;
//        heap.pop();
//        printf("%d+", t);
//    }
//    printf("%d\n", ret);
//    return 0;
//}